from django.db import models
from django.contrib.auth.models import AbstractUser,UserManager as _UserManager


class UserManager(_UserManager):
    def create_superuser(self, username,password, email=None,  **extra_fields):
        return super(UserManager,self).create_superuser(username=username,email=email,password=password,**extra_fields)

class Users(AbstractUser):
    """
    add mobile,email_active fields to Django users model.
    """
    REQUIRED_FIELDS = ['mobile']
    objects = UserManager()
    mobile = models.CharField(max_length=11,unique=True,help_text="手机号",verbose_name="手机号",
                              error_messages={
                                  'unique':"此手机号已注册"
                              }
                              )
    email_active = models.BooleanField(default=False,verbose_name="邮箱验证状态")


    class Meta:
        db_table = "tb_users"
        verbose_name = "用户"
        verbose_name_plural = verbose_name

    def __str__(self):
        return "User<username:%s,mobile:%s,email_active:%s>"%(self.username,self.mobile,self.email_active)
